(* _require local "../../../basis/main/General.smi" *)
_require local "../../../basis/main/IO.smi"
_require local "../../../basis/main/Int32.smi"
(* _require local "../../../basis/main/CharVector.smi" *)
_require local "../../../basis/main/CharVectorSlice.smi"
_require local "../../../basis/main/CharArray.smi"
_require local "../../../basis/main/CharArraySlice.smi"
_require local "../../../basis/main/Word8Vector.smi"
_require local "../../../basis/main/Word8VectorSlice.smi"
_require local "../../../basis/main/Word8Array.smi"
_require local "../../../basis/main/Word8ArraySlice.smi"
_require local "../../../basis/main/String.smi"
_require local "../../../basis/main/Byte.smi"
_require local "../../../basis/main/SMLSharp_Runtime.smi"
_require "../../../basis/main/SMLSharp_OSIO.smi"
_require "../IO/prim-io-bin.smi"
_require "../IO/prim-io-text.smi"

structure SMLSharp_SMLNJ_POSIX_IO =
struct
  type file_desc = SMLSharp_OSIO.iodesc
  val openf : string * string -> file_desc
  val stdin : file_desc
  val stdout : file_desc
  val stderr : file_desc
  val mkTextReader : {fd : file_desc, name : string, initBlkMode : bool}
                     -> TextPrimIO.reader
  val mkTextWriter : {fd : file_desc, name : string, initBlkMode : bool,
                      appendMode : bool, chunkSize : int}
                     -> TextPrimIO.writer
  val mkBinReader : {fd : file_desc, name : string, initBlkMode : bool}
                    -> BinPrimIO.reader
  val mkBinWriter : {fd : file_desc, name : string, initBlkMode : bool,
                     appendMode : bool, chunkSize : int}
                    -> BinPrimIO.writer
end
